From: Adel Gadllah Date: Wed, 26 Jun 2013 09:12:35 +0000 (+0200) Subject: overview: Really fix zoom animation X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4007 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b1c936164cb225907d791427e6707f68713ea13a;p=gnome-shell.git overview: Really fix zoom animation Commit 16fa186b633d attempted to fix the zoom animation problem by throwing changes on the floor while the overview is animating. This has the side effect that we might end up missing some positioning changes causes windows to overlap the workspace thumbnails. So revert those changes and fix it by simply by passing WindowPositionFlags.ANIMATE during the overview animation. This way the animation works as expected and we don't miss any position changes. https://bugzilla.gnome.org/show_bug.cgi?id=703105 --- diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 713750423..dc7e43e7d 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -997,7 +997,7 @@ const Workspace = new Lang.Class({ this._dropRect.set_position(geom.x, geom.y); this._dropRect.set_size(geom.width, geom.height); - this._updateWindowPositions(WindowPositionFlags.NONE); + this._updateWindowPositions(Main.overview.animationInProgress ? WindowPositionFlags.ANIMATE : WindowPositionFlags.NONE); this._actualGeometryLater = 0; return false; diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index 3eb9c0dcb..50f079c3e 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -446,7 +446,7 @@ const WorkspacesDisplay = new Lang.Class({ _init: function() { this.actor = new St.Widget({ clip_to_allocation: true }); - this.actor.connect('notify::allocation', Lang.bind(this, this._allocationChanged)); + this.actor.connect('notify::allocation', Lang.bind(this, this._updateWorkspacesActualGeometry)); this.actor.connect('parent-set', Lang.bind(this, this._parentSet)); let clickAction = new Clutter.ClickAction() @@ -676,12 +676,6 @@ const WorkspacesDisplay = new Lang.Class({ } }, - _allocationChanged: function() { - if (Main.overview.animationInProgress) - return; - this._updateWorkspacesActualGeometry(); - }, - _updateWorkspacesActualGeometry: function() { if (!this._workspacesViews.length) return;